﻿#region Using

using System.ServiceModel;

using Common.Base;

using CommunicationLibrary.TransportData;

#endregion

namespace CommunicationLibrary
{
    public interface IClient
    {
        [OperationContract(IsOneWay = true)]
        void GameStarted();

        [OperationContract(IsOneWay = true)]
        void HasWon();

        [OperationContract(IsOneWay = true)]
        void PlayerLost(Identifiable looser);

        [OperationContract(IsOneWay = true)]
        void GamePaused();

        [OperationContract(IsOneWay = true)]
        void GameResumed();

        [OperationContract(IsOneWay = true)]
        void UpdateGameState(GameState gameState);

        [OperationContract(IsOneWay = true)]
        void GameReady(GameState startingState, int identifier);
    }
}